Today's Internet relies on packet transfers to communicate data. For example, downloaded Web pages arrive as a series of packets, and e-mails are transferred as packets. Networks that transfer data in packets are called packet-switched networks.
“Packets” are serial strings of bits that can vary widely in size. Packets carry their data in a protocol used by the particular network. For example, the Internet uses the Transmission Control Protocol/Internet Protocol (TCP/IP).
In general, each packet has a header, a payload, and a trailer. The header contains information that will help it get to its destination, such as the sender's IP address, the intended receiver's IP address. The payload is the actual data that the packet is delivering to the destination. The trailer, sometimes called the footer, typically contains data to tell the receiving device that it has reached the end of the packet. It may also have some type of error checking data.
Data transfers between data processing devices and peripherals are facilitated with data buffers, which help provide the desired immediacy to external bus communications. Data to be transmitted from a source device can be stored in a buffer so that it is ready for transmission to the destination device. Typically, data buffers use first-in-first-out (FIFO) buffers, which preserve the order of the data. A single device can have many FIFOs for both send and receive functions.